function[result]=RBF_Gaussian(data_org, error_index)

% data_orgAIS轨迹数据，包括经度和纬度[longitude, latitude; ...]; 包含其中的异常点
% error_index 异常点数据的正常位置索引

% 正常轨迹点数据（剔除异常点）
normalData = data_org([1:error_index-1, error_index+1:end], :);

% 目标位置（需要插值的点）
targetIndex = error_index; % 假设我们需要插值的是第123个点的位置

% 分割数据为训练集
trainData = normalData;
% 训练目标（经度和纬度）
trainTarget = [trainData(:,1), trainData(:,2)]; % 训练目标（经度和纬度）

% 定义RBF函数
rbfFunction = @(center, spread, x) exp(-((x - center).^2) / (2 * spread^2));

% 插值计算
interpolatedValue = zeros(size(trainData, 1), 2);
for i = 1:size(trainData, 1)
    % 计算每个点到所有训练点的距离
    distances = sqrt(sum((trainData - trainData(i, :)).^2, 2));
    % 计算权重
    weights = rbfFunction(distances, 1, 0) ./ sum(rbfFunction(distances, 1, 0));
    % 计算插值
    interpolatedValue(i, :) = weights' * trainTarget;
end

% 输出插值结果
interpolatedLongitude = interpolatedValue(targetIndex - error_index + 1, 1);
interpolatedLatitude = interpolatedValue(targetIndex - error_index + 1, 2);
fprintf('插值结果：经度 = %f, 纬度 = %f\n', interpolatedLongitude, interpolatedLatitude);

end